using System;
using System.Collections.Generic;
using System.Text;

namespace Dare.Utilities
{
    public class EnumAttribute : Attribute
    {
        private string key;
        public string Key
        {
            get { return key; }
            set { key = value; }
        }

        private string shortName;
        public string ShortName
        {
            get { return shortName; }
            set { shortName = value; }
        }

        private string fullName;
        public string FullName
        {
            get { return fullName; }
            set { fullName = value; }
        }


        private string description;
        public string Description
        {
            get { return description; }
            set { description = value; }
        }

        private object tag;
        public object Tag
        {
            get { return tag; }
            set { tag = value; }
        }

        private bool isListable;
        public bool IsListable
        {
            get { return isListable; }
            set { isListable = value; }
        }

        private int orderIndex;
        public int OrderIndex
        {
            get { return orderIndex; }
            set { orderIndex = value; }
        }

        public EnumAttribute()
            : base()
        {
            key = String.Empty;
            shortName = String.Empty;
            fullName = String.Empty;
            description = String.Empty;
            isListable = false;
            orderIndex = 0;
            tag = null;
        }

        public EnumAttribute(string EnumKey, string EnumShortName, string EnumFullName, string EnumDescription)
            : base()
        {
            key = EnumKey;
            shortName = EnumShortName;
            fullName = EnumFullName;
            description = EnumDescription;
            isListable = true;
            orderIndex = 0;
            tag = null;
        }
    }
}
